Look-up tables are commonly used in various fields including microprocessor design. Referring now to FIG. 1, a conventional look-up table 110 consists of several columns 120, 122, 124, 150. The data in each column 120, 122, 124, 150 may arranged by placing related data 130, 144, 146 in a single row. In one embodiment and in FIG. 1, the related data 130, 144, 146 is physically arranged in row format, although other physical arrangements are also possible. In a conventional look-up table 110, the entries 140, 142, 144 in one column 120 are used as the index to the table 110. A specific value of the data 140, 142, 144 in the index column 120 may be searched or "looked-up", and if found, other related data in the same row may be output. Sometimes the index entry 140, 142, 144 in the found row is itself output.
Unfortunately, the index data 140, 142, 144 may sometimes become corrupted due to various factors such as a malfunctioning data memory cell or electrical interference at the time the data 140, 142, 144 is written into the physical storage device representing the look-up table 110. When this occurs, erroneous data may be stored and corrupt the result of the search. For example, if data 140 is erroneously stored as having a value of 101, two entries 140, 144 will match a desired index entry of 101. Depending on the search mechanism, the output related to the location of duplicate entries may be erroneous, because the wrong row is flagged for output, or a combination of the data from both rows is selected for output.
Designing output circuitry which allows for detection of multiple identical index entries may add complexity to the output circuitry which would impede the performance of the system and require valuable space on an integrated circuit. It is desirable to detect such a condition without significant impediment to the performance of the output circuitry or requiring significant amounts of space on an integrated circuit.